.class public abstract Lcom/nemustech/regina/Element;
.super Ljava/lang/Object;
.source "Element.java"


# static fields
.field public static final CRUMPLE_COUNT:I = 0x6

.field private static ELEMENT_TOUCH:Z = false

.field private static final TAG:Ljava/lang/String; = "Element"

.field public static final WORKSPACE_NONE:I = -0x1


# instance fields
.field private mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

.field protected mClassName:Ljava/lang/String;

.field protected mContext:Landroid/content/Context;

.field protected mCrumpleCount:I

.field protected mElementId:J

.field protected mElementInitPosX:F

.field protected mElementInitPosY:F

.field protected mElementInitPosZ:F

.field protected mElementTouchEventPos2DX:F

.field protected mElementTouchEventPos2DY:F

.field protected mElementTouchedHeight2D:F

.field protected mElementTouchedWidth2D:F

.field protected mElementType:I

.field protected mEnableLongClick:Z

.field protected mEventConsumerList:Ljava/util/LinkedList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedList",
            "<",
            "Lcom/nemustech/tiffany/world/TFObject;",
            ">;"
        }
    .end annotation
.end field

.field protected mFailedArrange:Z

.field protected mFromWorkspace:Z

.field protected mHeight:I

.field protected mIsJitImageProvideMode:Z

.field protected mIsZoomed:Z

.field protected mJitImageProvider:Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;

.field protected mOverWSBtnApps:Z

.field protected mPackageName:Ljava/lang/String;

.field protected mPackagePath:Ljava/lang/String;

.field protected mPanelVertexStack:Ljava/util/Stack;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Stack",
            "<[F>;"
        }
    .end annotation
.end field

.field protected mPaused:Z

.field protected mRowNum:I

.field protected mWidth:I

.field protected mWorkspace:Lcom/nemustech/regina/RGWorkspace;

.field protected mWorkspaceType:I


# direct methods
.method static constructor <clinit>()V
    .locals 1

    .prologue
    .line 25
    const/4 v0, 0x0

    sput-boolean v0, Lcom/nemustech/regina/Element;->ELEMENT_TOUCH:Z

    return-void
.end method

.method public constructor <init>()V
    .locals 1

    .prologue
    const/4 v0, 0x0

    .line 23
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 35
    iput v0, p0, Lcom/nemustech/regina/Element;->mWorkspaceType:I

    .line 37
    iput v0, p0, Lcom/nemustech/regina/Element;->mCrumpleCount:I

    .line 53
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/nemustech/regina/Element;->mEnableLongClick:Z

    .line 58
    new-instance v0, Ljava/util/Stack;

    invoke-direct {v0}, Ljava/util/Stack;-><init>()V

    iput-object v0, p0, Lcom/nemustech/regina/Element;->mPanelVertexStack:Ljava/util/Stack;

    .line 63
    new-instance v0, Ljava/util/LinkedList;

    invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V

    iput-object v0, p0, Lcom/nemustech/regina/Element;->mEventConsumerList:Ljava/util/LinkedList;

    .line 563
    new-instance v0, Lcom/nemustech/regina/Element$1;

    invoke-direct {v0, p0}, Lcom/nemustech/regina/Element$1;-><init>(Lcom/nemustech/regina/Element;)V

    iput-object v0, p0, Lcom/nemustech/regina/Element;->mJitImageProvider:Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;

    .line 23
    return-void
.end method


# virtual methods
.method public canBeRepositioned()Z
    .locals 1

    .prologue
    .line 157
    const/4 v0, 0x1

    return v0
.end method

.method public getCenterX2D()I
    .locals 2

    .prologue
    .line 221
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getX()F

    move-result v0

    .line 222
    .local v0, centerX3D:F
    iget-object v1, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v1, v0}, Lcom/nemustech/regina/RUtils;->convertTo2DPosY(Landroid/content/Context;F)I

    move-result v1

    return v1
.end method

.method public getCenterY2D()I
    .locals 2

    .prologue
    .line 226
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getY()F

    move-result v0

    .line 227
    .local v0, centerY3D:F
    iget-object v1, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v1, v0}, Lcom/nemustech/regina/RUtils;->convertTo2DPosY(Landroid/content/Context;F)I

    move-result v1

    return v1
.end method

.method public getClassName()Ljava/lang/String;
    .locals 1

    .prologue
    .line 248
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mClassName:Ljava/lang/String;

    return-object v0
.end method

.method public getCrumpleCount()I
    .locals 1

    .prologue
    .line 79
    iget v0, p0, Lcom/nemustech/regina/Element;->mCrumpleCount:I

    return v0
.end method

.method public getElementId()J
    .locals 2

    .prologue
    .line 300
    iget-wide v0, p0, Lcom/nemustech/regina/Element;->mElementId:J

    return-wide v0
.end method

.method public getElementTouchedHeight2D()F
    .locals 2

    .prologue
    .line 236
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementTouchEventPos2DY:F

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementTouchedHeight2D:F

    sub-float/2addr v0, v1

    return v0
.end method

.method public getElementTouchedWidth2D()F
    .locals 2

    .prologue
    .line 232
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementTouchEventPos2DX:F

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementTouchedWidth2D:F

    sub-float/2addr v0, v1

    return v0
.end method

.method public getEnableLongClick()Z
    .locals 1

    .prologue
    .line 135
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mEnableLongClick:Z

    return v0
.end method

.method public getHeight2D()I
    .locals 1

    .prologue
    .line 205
    iget v0, p0, Lcom/nemustech/regina/Element;->mHeight:I

    return v0
.end method

.method public getHeight3D()F
    .locals 2

    .prologue
    .line 197
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    iget v1, p0, Lcom/nemustech/regina/Element;->mHeight:I

    invoke-static {v0, v1}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v0

    return v0
.end method

.method public getInitPos([F)V
    .locals 2
    .parameter "elementInitPos"

    .prologue
    .line 145
    const/4 v0, 0x0

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementInitPosX:F

    aput v1, p1, v0

    .line 146
    const/4 v0, 0x1

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementInitPosY:F

    aput v1, p1, v0

    .line 147
    const/4 v0, 0x2

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementInitPosZ:F

    aput v1, p1, v0

    .line 148
    return-void
.end method

.method public getInitPosX()F
    .locals 1

    .prologue
    .line 103
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementInitPosX:F

    return v0
.end method

.method public getInitPosY()F
    .locals 1

    .prologue
    .line 119
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementInitPosY:F

    return v0
.end method

.method public getInitPosZ()F
    .locals 1

    .prologue
    .line 127
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementInitPosZ:F

    return v0
.end method

.method public abstract getInternalObject()Lcom/nemustech/tiffany/world/TFObject;
.end method

.method public getItemType()I
    .locals 1

    .prologue
    .line 378
    iget v0, p0, Lcom/nemustech/regina/Element;->mElementType:I

    return v0
.end method

.method public getLeft2D()I
    .locals 4

    .prologue
    .line 209
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getX()F

    move-result v0

    .line 210
    .local v0, centerX:F
    iget-object v2, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v2, v0}, Lcom/nemustech/regina/RUtils;->_convertTo2DPosX(Landroid/content/Context;F)F

    move-result v2

    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getWidth2D()I

    move-result v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    sub-float/2addr v2, v3

    const/high16 v3, 0x3f00

    add-float/2addr v2, v3

    float-to-int v1, v2

    .line 211
    .local v1, left:I
    return v1
.end method

.method public getLocateFromObject([F)V
    .locals 1
    .parameter "xyz"

    .prologue
    .line 87
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcom/nemustech/tiffany/world/TFObject;->getLocation([F)V

    .line 88
    return-void
.end method

.method public getObject()Lcom/nemustech/tiffany/world/TFObject;
    .locals 1

    .prologue
    .line 396
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v0, :cond_0

    .line 397
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 399
    :goto_0
    return-object v0

    :cond_0
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getInternalObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    goto :goto_0
.end method

.method public getPackageName()Ljava/lang/String;
    .locals 1

    .prologue
    .line 240
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mPackageName:Ljava/lang/String;

    return-object v0
.end method

.method public getPackagePath()Ljava/lang/String;
    .locals 1

    .prologue
    .line 256
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mPackagePath:Ljava/lang/String;

    return-object v0
.end method

.method public getPanelVertexStack()Ljava/util/Stack;
    .locals 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Stack",
            "<[F>;"
        }
    .end annotation

    .prologue
    .line 161
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mPanelVertexStack:Ljava/util/Stack;

    return-object v0
.end method

.method public getRowNum()I
    .locals 1

    .prologue
    .line 111
    iget v0, p0, Lcom/nemustech/regina/Element;->mRowNum:I

    return v0
.end method

.method public abstract getSnapShot()Landroid/graphics/Bitmap;
.end method

.method public abstract getSnapShot(I)Landroid/graphics/Bitmap;
.end method

.method public abstract getSnapShotOpposite()Landroid/graphics/Bitmap;
.end method

.method public getTop2D()I
    .locals 4

    .prologue
    .line 215
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getY()F

    move-result v0

    .line 216
    .local v0, centerY:F
    iget-object v2, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v2, v0}, Lcom/nemustech/regina/RUtils;->_convertTo2DPosY(Landroid/content/Context;F)F

    move-result v2

    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getHeight2D()I

    move-result v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    sub-float/2addr v2, v3

    float-to-int v1, v2

    .line 217
    .local v1, top:I
    return v1
.end method

.method public getWidth2D()I
    .locals 1

    .prologue
    .line 201
    iget v0, p0, Lcom/nemustech/regina/Element;->mWidth:I

    return v0
.end method

.method public getWidth3D()F
    .locals 2

    .prologue
    .line 193
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    iget v1, p0, Lcom/nemustech/regina/Element;->mWidth:I

    invoke-static {v0, v1}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v0

    return v0
.end method

.method public getWorkspace()Lcom/nemustech/regina/RGWorkspace;
    .locals 1

    .prologue
    .line 296
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    return-object v0
.end method

.method public getWorkspaceIndex()I
    .locals 2

    .prologue
    .line 281
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    if-nez v0, :cond_0

    .line 282
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    check-cast v0, Lcom/nemustech/regina/ReginaLauncher;

    invoke-virtual {v0}, Lcom/nemustech/regina/ReginaLauncher;->getElementLocator()Lcom/nemustech/regina/ElementLocator;

    move-result-object v0

    invoke-virtual {v0}, Lcom/nemustech/regina/ElementLocator;->getCurrentWorkspace()Lcom/nemustech/regina/RGWorkspace;

    move-result-object v0

    iput-object v0, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    .line 284
    :cond_0
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    check-cast v0, Lcom/nemustech/regina/ReginaLauncher;

    invoke-virtual {v0}, Lcom/nemustech/regina/ReginaLauncher;->getElementLocator()Lcom/nemustech/regina/ElementLocator;

    move-result-object v0

    iget-object v1, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    invoke-virtual {v0, v1}, Lcom/nemustech/regina/ElementLocator;->getWorkspaceIndexOf(Lcom/nemustech/regina/RGWorkspace;)I

    move-result v0

    return v0
.end method

.method public getWorkspaceType()I
    .locals 1

    .prologue
    .line 386
    iget v0, p0, Lcom/nemustech/regina/Element;->mWorkspaceType:I

    return v0
.end method

.method public getWorkspaceUID()I
    .locals 1

    .prologue
    .line 288
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    if-eqz v0, :cond_0

    .line 289
    iget-object v0, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    invoke-virtual {v0}, Lcom/nemustech/regina/RGWorkspace;->getUID()I

    move-result v0

    .line 292
    :goto_0
    return v0

    :cond_0
    const/4 v0, -0x1

    goto :goto_0
.end method

.method public getX()F
    .locals 2

    .prologue
    .line 181
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v0

    return v0
.end method

.method public getY()F
    .locals 2

    .prologue
    .line 185
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v0

    return v0
.end method

.method public getZ()F
    .locals 2

    .prologue
    .line 189
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    const/4 v1, 0x2

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v0

    return v0
.end method

.method public isAnimationObject()Z
    .locals 1

    .prologue
    .line 403
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    instance-of v0, v0, Lcom/nemustech/tiffany/world/TFCustomPanel;

    return v0
.end method

.method public isFailedArrange()Z
    .locals 1

    .prologue
    .line 173
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mFailedArrange:Z

    return v0
.end method

.method public isFromWorkspace()Z
    .locals 1

    .prologue
    .line 95
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mFromWorkspace:Z

    return v0
.end method

.method protected abstract isObjectEventConsumer(Lcom/nemustech/tiffany/world/TFObject;)Z
.end method

.method public isOverWSBtnApps()Z
    .locals 1

    .prologue
    .line 169
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mOverWSBtnApps:Z

    return v0
.end method

.method public abstract isOwnerOf(Lcom/nemustech/tiffany/world/TFObject;)Z
.end method

.method public isPaused()Z
    .locals 1

    .prologue
    .line 581
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mPaused:Z

    return v0
.end method

.method public isZoomed()Z
    .locals 1

    .prologue
    .line 318
    iget-boolean v0, p0, Lcom/nemustech/regina/Element;->mIsZoomed:Z

    return v0
.end method

.method public locate(FFF)V
    .locals 1
    .parameter "x"
    .parameter "y"
    .parameter "z"

    .prologue
    .line 71
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 72
    return-void
.end method

.method public locate(FFFF)V
    .locals 9
    .parameter "relativeX"
    .parameter "relativeY"
    .parameter "absoluteZ"
    .parameter "speed"

    .prologue
    const/4 v8, 0x3

    const/4 v7, 0x1

    const/4 v6, 0x0

    .line 337
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v1

    .line 338
    .local v1, object:Lcom/nemustech/tiffany/world/TFObject;
    new-array v0, v8, [F

    .line 340
    .local v0, curLocation:[F
    invoke-virtual {v1, v0}, Lcom/nemustech/tiffany/world/TFObject;->getLocation([F)V

    .line 341
    aget v2, v0, v6

    add-float/2addr v2, p1

    aget v3, v0, v7

    add-float/2addr v3, p2

    invoke-virtual {v1, v2, v3, p3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 345
    const-string v2, "Element"

    const-string v3, "move() x=%f y=%f z=%f speed=%f"

    const/4 v4, 0x4

    new-array v4, v4, [Ljava/lang/Object;

    aget v5, v0, v6

    add-float/2addr v5, p1

    invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v5

    aput-object v5, v4, v6

    aget v5, v0, v7

    add-float/2addr v5, p2

    invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v5

    aput-object v5, v4, v7

    const/4 v5, 0x2

    invoke-static {p3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v6

    aput-object v6, v4, v5

    invoke-static {p4}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v5

    aput-object v5, v4, v8

    invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/nemustech/regina/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 350
    return-void
.end method

.method public locateInit()V
    .locals 4

    .prologue
    .line 83
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    iget v1, p0, Lcom/nemustech/regina/Element;->mElementInitPosX:F

    iget v2, p0, Lcom/nemustech/regina/Element;->mElementInitPosY:F

    iget v3, p0, Lcom/nemustech/regina/Element;->mElementInitPosZ:F

    invoke-virtual {v0, v1, v2, v3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 84
    return-void
.end method

.method public locateRelatively(FFF)V
    .locals 8
    .parameter "relativeX"
    .parameter "relativeY"
    .parameter "absoluteZ"

    .prologue
    const/4 v4, 0x3

    const/4 v7, 0x1

    const/4 v6, 0x0

    .line 322
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v1

    .line 323
    .local v1, object:Lcom/nemustech/tiffany/world/TFObject;
    new-array v0, v4, [F

    .line 325
    .local v0, curLocation:[F
    invoke-virtual {v1, v0}, Lcom/nemustech/tiffany/world/TFObject;->getLocation([F)V

    .line 326
    aget v2, v0, v6

    add-float/2addr v2, p1

    aget v3, v0, v7

    add-float/2addr v3, p2

    invoke-virtual {v1, v2, v3, p3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 330
    const-string v2, "Element"

    const-string v3, "move() x=%f y=%f z=%f"

    new-array v4, v4, [Ljava/lang/Object;

    aget v5, v0, v6

    add-float/2addr v5, p1

    invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v5

    aput-object v5, v4, v6

    aget v5, v0, v7

    add-float/2addr v5, p2

    invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v5

    aput-object v5, v4, v7

    const/4 v5, 0x2

    invoke-static {p3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v6

    aput-object v6, v4, v5

    invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/nemustech/regina/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 334
    return-void
.end method

.method public moveAbs(FFFF)V
    .locals 1
    .parameter "absoluteX"
    .parameter "absoluteY"
    .parameter "absoluteZ"
    .parameter "speed"

    .prologue
    .line 353
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    .line 354
    .local v0, object:Lcom/nemustech/tiffany/world/TFObject;
    invoke-virtual {v0, p1, p2, p3, p4}, Lcom/nemustech/tiffany/world/TFObject;->move(FFFF)V

    .line 355
    return-void
.end method

.method protected onDestroy()V
    .locals 0

    .prologue
    .line 590
    return-void
.end method

.method protected onPause()V
    .locals 0

    .prologue
    .line 589
    return-void
.end method

.method protected onResume()V
    .locals 0

    .prologue
    .line 588
    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;Lcom/nemustech/tiffany/world/TFObject;)Z
    .locals 5
    .parameter "e"
    .parameter "object"

    .prologue
    const/4 v4, 0x0

    .line 359
    const-string v1, "Element"

    const-string v2, "Element::onTouchEvent() ======================== "

    invoke-static {v1, v2}, Lcom/nemustech/regina/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 360
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v1

    invoke-virtual {v1}, Lcom/nemustech/tiffany/world/TFObject;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v0

    .line 361
    .local v0, world:Lcom/nemustech/tiffany/world/TFWorld;
    if-eqz v0, :cond_0

    if-nez p2, :cond_1

    :cond_0
    move v1, v4

    .line 373
    :goto_0
    return v1

    .line 364
    :cond_1
    instance-of v1, p2, Lcom/nemustech/tiffany/world/TFHolder;

    if-nez v1, :cond_2

    .line 365
    invoke-virtual {p2}, Lcom/nemustech/tiffany/world/TFObject;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object p2

    .line 367
    :cond_2
    invoke-virtual {p0, p2}, Lcom/nemustech/regina/Element;->isObjectEventConsumer(Lcom/nemustech/tiffany/world/TFObject;)Z

    move-result v1

    if-eqz v1, :cond_3

    .line 368
    const-string v1, "Element"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Element::onTouchEvent() action="

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v3

    invoke-static {v3}, Lcom/nemustech/regina/RLog;->touchEventToString(I)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    sget-boolean v3, Lcom/nemustech/regina/Element;->ELEMENT_TOUCH:Z

    invoke-static {v1, v2, v3}, Lcom/nemustech/regina/RLog;->d(Ljava/lang/String;Ljava/lang/String;Z)I

    .line 369
    invoke-virtual {v0, p1}, Lcom/nemustech/tiffany/world/TFWorld;->dispatchEvent(Landroid/view/MotionEvent;)Z

    .line 370
    const/4 v1, 0x1

    goto :goto_0

    .line 372
    :cond_3
    const-string v1, "Element"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Element::onTouchEvent() action="

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v3

    invoke-static {v3}, Lcom/nemustech/regina/RLog;->touchEventToString(I)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " not consumed : "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    sget-boolean v3, Lcom/nemustech/regina/Element;->ELEMENT_TOUCH:Z

    invoke-static {v1, v2, v3}, Lcom/nemustech/regina/RLog;->d(Ljava/lang/String;Ljava/lang/String;Z)I

    move v1, v4

    .line 373
    goto :goto_0
.end method

.method public pause()V
    .locals 1

    .prologue
    .line 571
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/nemustech/regina/Element;->mPaused:Z

    .line 572
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->onPause()V

    .line 573
    return-void
.end method

.method public resetAnimationPanel()V
    .locals 1

    .prologue
    .line 407
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 408
    return-void
.end method

.method public resume()V
    .locals 1

    .prologue
    .line 576
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/nemustech/regina/Element;->mPaused:Z

    .line 577
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->onResume()V

    .line 578
    return-void
.end method

.method public setClassName(Ljava/lang/String;)V
    .locals 0
    .parameter "className"

    .prologue
    .line 252
    iput-object p1, p0, Lcom/nemustech/regina/Element;->mClassName:Ljava/lang/String;

    .line 253
    return-void
.end method

.method public setCrumpleCount(I)V
    .locals 0
    .parameter "count"

    .prologue
    .line 75
    iput p1, p0, Lcom/nemustech/regina/Element;->mCrumpleCount:I

    .line 76
    return-void
.end method

.method public setElementId(J)V
    .locals 0
    .parameter "id"

    .prologue
    .line 304
    iput-wide p1, p0, Lcom/nemustech/regina/Element;->mElementId:J

    .line 305
    return-void
.end method

.method public setElementTouchEventPos2D(FF)V
    .locals 0
    .parameter "x"
    .parameter "y"

    .prologue
    .line 276
    iput p1, p0, Lcom/nemustech/regina/Element;->mElementTouchEventPos2DX:F

    .line 277
    iput p2, p0, Lcom/nemustech/regina/Element;->mElementTouchEventPos2DY:F

    .line 278
    return-void
.end method

.method public setEnableLongClick(Z)V
    .locals 0
    .parameter "isEnable"

    .prologue
    .line 131
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mEnableLongClick:Z

    .line 132
    return-void
.end method

.method public setFailedArrange(Z)V
    .locals 0
    .parameter "value"

    .prologue
    .line 177
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mFailedArrange:Z

    .line 178
    return-void
.end method

.method public setFromWorkspace(Z)V
    .locals 0
    .parameter "fromWorkspace"

    .prologue
    .line 91
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mFromWorkspace:Z

    .line 92
    return-void
.end method

.method public setHeight2D(I)V
    .locals 0
    .parameter "height"

    .prologue
    .line 268
    iput p1, p0, Lcom/nemustech/regina/Element;->mHeight:I

    .line 269
    return-void
.end method

.method public setInitPos(FFF)V
    .locals 0
    .parameter "x"
    .parameter "y"
    .parameter "z"

    .prologue
    .line 139
    invoke-virtual {p0, p1}, Lcom/nemustech/regina/Element;->setInitPosX(F)V

    .line 140
    invoke-virtual {p0, p2}, Lcom/nemustech/regina/Element;->setInitPosY(F)V

    .line 141
    invoke-virtual {p0, p3}, Lcom/nemustech/regina/Element;->setInitPosZ(F)V

    .line 142
    return-void
.end method

.method public setInitPosFromCurPos()V
    .locals 3

    .prologue
    .line 151
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getX()F

    move-result v0

    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getY()F

    move-result v1

    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getZ()F

    move-result v2

    invoke-virtual {p0, v0, v1, v2}, Lcom/nemustech/regina/Element;->setInitPos(FFF)V

    .line 152
    return-void
.end method

.method public setInitPosX(F)V
    .locals 0
    .parameter "x"

    .prologue
    .line 99
    iput p1, p0, Lcom/nemustech/regina/Element;->mElementInitPosX:F

    .line 100
    return-void
.end method

.method public setInitPosY(F)V
    .locals 0
    .parameter "y"

    .prologue
    .line 107
    iput p1, p0, Lcom/nemustech/regina/Element;->mElementInitPosY:F

    .line 108
    return-void
.end method

.method public setInitPosZ(F)V
    .locals 0
    .parameter "z"

    .prologue
    .line 123
    iput p1, p0, Lcom/nemustech/regina/Element;->mElementInitPosZ:F

    .line 124
    return-void
.end method

.method public setItemType(I)V
    .locals 0
    .parameter "type"

    .prologue
    .line 382
    iput p1, p0, Lcom/nemustech/regina/Element;->mElementType:I

    .line 383
    return-void
.end method

.method protected setJitImageProvideMode(Z)V
    .locals 0
    .parameter "mode"

    .prologue
    .line 534
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mIsJitImageProvideMode:Z

    .line 535
    return-void
.end method

.method public setOverWSBtnApps(Z)V
    .locals 0
    .parameter "isOver"

    .prologue
    .line 165
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mOverWSBtnApps:Z

    .line 166
    return-void
.end method

.method public setPackageName(Ljava/lang/String;)V
    .locals 0
    .parameter "name"

    .prologue
    .line 244
    iput-object p1, p0, Lcom/nemustech/regina/Element;->mPackageName:Ljava/lang/String;

    .line 245
    return-void
.end method

.method public setPackagePath(Ljava/lang/String;)V
    .locals 0
    .parameter "packagePath"

    .prologue
    .line 260
    iput-object p1, p0, Lcom/nemustech/regina/Element;->mPackagePath:Ljava/lang/String;

    .line 261
    return-void
.end method

.method public setRowNum(I)V
    .locals 0
    .parameter "rowNum"

    .prologue
    .line 115
    iput p1, p0, Lcom/nemustech/regina/Element;->mRowNum:I

    .line 116
    return-void
.end method

.method public setWidth2D(I)V
    .locals 0
    .parameter "width"

    .prologue
    .line 264
    iput p1, p0, Lcom/nemustech/regina/Element;->mWidth:I

    .line 265
    return-void
.end method

.method public setWorkspace(Lcom/nemustech/regina/RGWorkspace;)V
    .locals 0
    .parameter "workspace"

    .prologue
    .line 272
    iput-object p1, p0, Lcom/nemustech/regina/Element;->mWorkspace:Lcom/nemustech/regina/RGWorkspace;

    .line 273
    return-void
.end method

.method public setWorkspaceType(I)V
    .locals 0
    .parameter "type"

    .prologue
    .line 390
    iput p1, p0, Lcom/nemustech/regina/Element;->mWorkspaceType:I

    .line 391
    return-void
.end method

.method public switchToAnimationObject()Lcom/nemustech/tiffany/world/TFCustomPanel;
    .locals 15

    .prologue
    const/4 v11, 0x0

    const/4 v14, 0x1

    const/4 v13, 0x0

    .line 412
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getInternalObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v3

    .line 414
    .local v3, object:Lcom/nemustech/tiffany/world/TFObject;
    instance-of v9, v3, Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v9, :cond_0

    .line 415
    check-cast v3, Lcom/nemustech/tiffany/world/TFCustomPanel;

    .end local v3           #object:Lcom/nemustech/tiffany/world/TFObject;
    move-object v9, v3

    .line 470
    :goto_0
    return-object v9

    .line 418
    .restart local v3       #object:Lcom/nemustech/tiffany/world/TFObject;
    :cond_0
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v9, :cond_1

    .line 420
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    iget-object v10, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v10

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->detachFrom(Lcom/nemustech/tiffany/world/TFWorld;)V

    .line 421
    iput-object v11, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 424
    :cond_1
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getSnapShot()Landroid/graphics/Bitmap;

    move-result-object v2

    .line 425
    .local v2, faceImage:Landroid/graphics/Bitmap;
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getSnapShotOpposite()Landroid/graphics/Bitmap;

    move-result-object v4

    .line 427
    .local v4, oppositeFaceImage:Landroid/graphics/Bitmap;
    if-eqz v2, :cond_2

    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    if-nez v9, :cond_3

    .line 428
    :cond_2
    new-instance v9, Ljava/lang/IllegalStateException;

    const-string v10, "Failed to get snap shot"

    invoke-direct {v9, v10}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v9

    .line 430
    :cond_3
    if-eqz v2, :cond_a

    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    if-eqz v9, :cond_a

    .line 431
    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v1

    .line 432
    .local v1, bitmapWidth:I
    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v0

    .line 433
    .local v0, bitmapHeight:I
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v9, v1}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v6

    .line 434
    .local v6, panelWidth:F
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v9, v0}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v5

    .line 435
    .local v5, panelHeight:F
    new-instance v9, Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-direct {v9, v6, v5}, Lcom/nemustech/tiffany/world/TFCustomPanel;-><init>(FF)V

    iput-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 436
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v13}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setVisibility(Z)V

    .line 437
    iget-boolean v9, p0, Lcom/nemustech/regina/Element;->mIsJitImageProvideMode:Z

    if-eqz v9, :cond_4

    .line 438
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    iget-object v10, p0, Lcom/nemustech/regina/Element;->mJitImageProvider:Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setJitImageProvider(Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;)V

    .line 439
    :cond_4
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9}, Lcom/nemustech/tiffany/world/TFCustomPanel;->lockImageCache()V

    .line 440
    invoke-virtual {v3}, Lcom/nemustech/tiffany/world/TFObject;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v7

    .line 441
    .local v7, parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    if-eqz v7, :cond_9

    .line 442
    invoke-virtual {v7}, Lcom/nemustech/tiffany/world/TFHolder;->isTerminalHolder()Z

    move-result v9

    if-eqz v9, :cond_8

    .line 443
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v7}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    .line 454
    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_5
    :goto_1
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v3, v13}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v10

    invoke-virtual {v3, v14}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v11

    const/4 v12, 0x2

    invoke-virtual {v3, v12}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v12

    invoke-virtual {v9, v10, v11, v12}, Lcom/nemustech/tiffany/world/TFCustomPanel;->locate(FFF)V

    .line 459
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v13, v2}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setImageResource(ILandroid/graphics/Bitmap;)Z

    move-result v9

    if-eqz v9, :cond_6

    invoke-virtual {v2}, Landroid/graphics/Bitmap;->recycle()V

    .line 460
    :cond_6
    if-eqz v4, :cond_7

    .line 461
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v14, v4}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setImageResource(ILandroid/graphics/Bitmap;)Z

    move-result v9

    if-eqz v9, :cond_7

    invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V

    .line 463
    :cond_7
    invoke-virtual {v3, v13}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    .line 464
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v14}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setVisibility(Z)V

    .line 465
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v14}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setBackFaceVisibility(Z)V

    .line 466
    const-string v9, "Element"

    new-instance v10, Ljava/lang/StringBuilder;

    invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V

    const-string v11, "Switched to animation object : "

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v10

    iget-object v11, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v10

    const-string v11, " parent holder:"

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v10

    iget-object v11, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v11}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v11

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v10

    invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    invoke-static {v9, v10}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 467
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    goto/16 :goto_0

    .line 445
    .restart local v7       #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_8
    instance-of v9, v7, Lcom/nemustech/regina/RGWorkspace;

    if-eqz v9, :cond_5

    .line 446
    check-cast v7, Lcom/nemustech/regina/RGWorkspace;

    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    invoke-virtual {v7}, Lcom/nemustech/regina/RGWorkspace;->getPanelElementHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v8

    .line 447
    .local v8, terminalHolder:Lcom/nemustech/tiffany/world/TFHolder;
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v8}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    goto :goto_1

    .line 451
    .end local v8           #terminalHolder:Lcom/nemustech/tiffany/world/TFHolder;
    .restart local v7       #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_9
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v3}, Lcom/nemustech/tiffany/world/TFObject;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v10

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFWorld;)V

    goto :goto_1

    .end local v0           #bitmapHeight:I
    .end local v1           #bitmapWidth:I
    .end local v5           #panelHeight:F
    .end local v6           #panelWidth:F
    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_a
    move-object v9, v11

    .line 470
    goto/16 :goto_0
.end method

.method public switchToAnimationObject(II)Lcom/nemustech/tiffany/world/TFCustomPanel;
    .locals 13
    .parameter "frontFaceIndex"
    .parameter "backFaceIndex"

    .prologue
    .line 475
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getInternalObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v4

    .line 477
    .local v4, object:Lcom/nemustech/tiffany/world/TFObject;
    instance-of v9, v4, Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v9, :cond_0

    .line 478
    check-cast v4, Lcom/nemustech/tiffany/world/TFCustomPanel;

    .end local v4           #object:Lcom/nemustech/tiffany/world/TFObject;
    move-object v9, v4

    .line 530
    :goto_0
    return-object v9

    .line 481
    .restart local v4       #object:Lcom/nemustech/tiffany/world/TFObject;
    :cond_0
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v9, :cond_1

    .line 483
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    iget-object v10, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v10

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->detachFrom(Lcom/nemustech/tiffany/world/TFWorld;)V

    .line 484
    const/4 v9, 0x0

    iput-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 487
    :cond_1
    invoke-virtual {p0, p1}, Lcom/nemustech/regina/Element;->getSnapShot(I)Landroid/graphics/Bitmap;

    move-result-object v3

    .line 488
    .local v3, frontFaceImage:Landroid/graphics/Bitmap;
    invoke-virtual {p0, p2}, Lcom/nemustech/regina/Element;->getSnapShot(I)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 491
    .local v0, backFaceImage:Landroid/graphics/Bitmap;
    if-eqz v3, :cond_8

    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    if-eqz v9, :cond_8

    .line 492
    invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v2

    .line 493
    .local v2, bitmapWidth:I
    invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v1

    .line 494
    .local v1, bitmapHeight:I
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v9, v2}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v6

    .line 495
    .local v6, panelWidth:F
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mContext:Landroid/content/Context;

    invoke-static {v9, v1}, Lcom/nemustech/regina/RUtils;->convertTo3DSize(Landroid/content/Context;I)F

    move-result v5

    .line 496
    .local v5, panelHeight:F
    new-instance v9, Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-direct {v9, v6, v5}, Lcom/nemustech/tiffany/world/TFCustomPanel;-><init>(FF)V

    iput-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 497
    iget-boolean v9, p0, Lcom/nemustech/regina/Element;->mIsJitImageProvideMode:Z

    if-eqz v9, :cond_2

    .line 498
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    iget-object v10, p0, Lcom/nemustech/regina/Element;->mJitImageProvider:Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setJitImageProvider(Lcom/nemustech/tiffany/world/TFModel$JitImageProvider;)V

    .line 499
    :cond_2
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9}, Lcom/nemustech/tiffany/world/TFCustomPanel;->lockImageCache()V

    .line 500
    invoke-virtual {v4}, Lcom/nemustech/tiffany/world/TFObject;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v7

    .line 501
    .local v7, parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    if-eqz v7, :cond_7

    .line 502
    invoke-virtual {v7}, Lcom/nemustech/tiffany/world/TFHolder;->isTerminalHolder()Z

    move-result v9

    if-eqz v9, :cond_6

    .line 503
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v7}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    .line 514
    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_3
    :goto_1
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v10, 0x0

    invoke-virtual {v4, v10}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v10

    const/4 v11, 0x1

    invoke-virtual {v4, v11}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v11

    const/4 v12, 0x2

    invoke-virtual {v4, v12}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v12

    invoke-virtual {v9, v10, v11, v12}, Lcom/nemustech/tiffany/world/TFCustomPanel;->locate(FFF)V

    .line 519
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v10, 0x0

    invoke-virtual {v9, v10, v3}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setImageResource(ILandroid/graphics/Bitmap;)Z

    move-result v9

    if-eqz v9, :cond_4

    invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V

    .line 520
    :cond_4
    if-eqz v0, :cond_5

    .line 521
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v10, 0x1

    invoke-virtual {v9, v10, v0}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setImageResource(ILandroid/graphics/Bitmap;)Z

    move-result v9

    if-eqz v9, :cond_5

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V

    .line 523
    :cond_5
    const/4 v9, 0x0

    invoke-virtual {v4, v9}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    .line 524
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v10, 0x1

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setVisibility(Z)V

    .line 525
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v10, 0x1

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->setBackFaceVisibility(Z)V

    .line 526
    const-string v9, "Element"

    new-instance v10, Ljava/lang/StringBuilder;

    invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V

    const-string v11, "Switched to animation object : "

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v10

    iget-object v11, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v10

    const-string v11, " parent holder:"

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v10

    iget-object v11, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v11}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v11

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v10

    invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    invoke-static {v9, v10}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 527
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    goto/16 :goto_0

    .line 505
    .restart local v7       #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_6
    instance-of v9, v7, Lcom/nemustech/regina/RGWorkspace;

    if-eqz v9, :cond_3

    .line 506
    check-cast v7, Lcom/nemustech/regina/RGWorkspace;

    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    invoke-virtual {v7}, Lcom/nemustech/regina/RGWorkspace;->getPanelElementHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v8

    .line 507
    .local v8, terminalHolder:Lcom/nemustech/tiffany/world/TFHolder;
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v9, v8}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    goto :goto_1

    .line 511
    .end local v8           #terminalHolder:Lcom/nemustech/tiffany/world/TFHolder;
    .restart local v7       #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_7
    iget-object v9, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v4}, Lcom/nemustech/tiffany/world/TFObject;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v10

    invoke-virtual {v9, v10}, Lcom/nemustech/tiffany/world/TFCustomPanel;->attachTo(Lcom/nemustech/tiffany/world/TFWorld;)V

    goto/16 :goto_1

    .line 530
    .end local v1           #bitmapHeight:I
    .end local v2           #bitmapWidth:I
    .end local v5           #panelHeight:F
    .end local v6           #panelWidth:F
    .end local v7           #parentHolder:Lcom/nemustech/tiffany/world/TFHolder;
    :cond_8
    const/4 v9, 0x0

    goto/16 :goto_0
.end method

.method public switchToElementObject()Lcom/nemustech/regina/Element;
    .locals 1

    .prologue
    .line 538
    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Lcom/nemustech/regina/Element;->switchToElementObject(Z)Lcom/nemustech/regina/Element;

    move-result-object v0

    return-object v0
.end method

.method public switchToElementObject(Z)Lcom/nemustech/regina/Element;
    .locals 5
    .parameter "objectVisibility"

    .prologue
    .line 542
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getInternalObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    .line 544
    .local v0, object:Lcom/nemustech/tiffany/world/TFObject;
    iget-object v1, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eqz v1, :cond_1

    iget-object v1, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    if-eq v1, v0, :cond_1

    .line 547
    invoke-virtual {v0, p1}, Lcom/nemustech/tiffany/world/TFObject;->setVisibility(Z)V

    .line 548
    if-eqz p1, :cond_0

    .line 549
    iget-object v1, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v2, 0x0

    invoke-virtual {v1, v2}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getLocation(I)F

    move-result v1

    iget-object v2, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v3, 0x1

    invoke-virtual {v2, v3}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getLocation(I)F

    move-result v2

    iget-object v3, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    const/4 v4, 0x2

    invoke-virtual {v3, v4}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getLocation(I)F

    move-result v3

    invoke-virtual {v0, v1, v2, v3}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 555
    :cond_0
    const-string v1, "Element"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "parent for mAnimationPanel : "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget-object v3, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " parent:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget-object v3, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v3}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getParentHolder()Lcom/nemustech/tiffany/world/TFHolder;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 556
    iget-object v1, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    iget-object v2, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    invoke-virtual {v2}, Lcom/nemustech/tiffany/world/TFCustomPanel;->getWorld()Lcom/nemustech/tiffany/world/TFWorld;

    move-result-object v2

    invoke-virtual {v1, v2}, Lcom/nemustech/tiffany/world/TFCustomPanel;->detachFrom(Lcom/nemustech/tiffany/world/TFWorld;)V

    .line 557
    const/4 v1, 0x0

    iput-object v1, p0, Lcom/nemustech/regina/Element;->mAnimationPanel:Lcom/nemustech/tiffany/world/TFCustomPanel;

    .line 558
    const-string v1, "Element"

    const-string v2, "Switched to element object"

    invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 560
    :cond_1
    return-object p0
.end method

.method public zoom(ZFF)V
    .locals 3
    .parameter "zoomIn"
    .parameter "zoomZPos"
    .parameter "zoomCorrectionRatio"

    .prologue
    .line 308
    iput-boolean p1, p0, Lcom/nemustech/regina/Element;->mIsZoomed:Z

    .line 309
    invoke-virtual {p0}, Lcom/nemustech/regina/Element;->getObject()Lcom/nemustech/tiffany/world/TFObject;

    move-result-object v0

    .line 310
    .local v0, object:Lcom/nemustech/tiffany/world/TFObject;
    if-eqz v0, :cond_0

    .line 311
    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v1

    mul-float/2addr v1, p3

    const/4 v2, 0x1

    invoke-virtual {v0, v2}, Lcom/nemustech/tiffany/world/TFObject;->getLocation(I)F

    move-result v2

    mul-float/2addr v2, p3

    invoke-virtual {v0, v1, v2, p2}, Lcom/nemustech/tiffany/world/TFObject;->locate(FFF)V

    .line 315
    :cond_0
    return-void
.end method
